#include "mq7.h"

void mq7_init(void)
{
	GPIO_InitTypeDef Gpio_Value;
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
	
	Gpio_Value.GPIO_Mode = GPIO_Mode_AIN;
	Gpio_Value.GPIO_Pin = GPIO_Pin_0;
	Gpio_Value.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOB,&Gpio_Value);
}

float get_mq7_vol(void)
{
	get_adc_value(dma_Value);
	return 5*(dma_Value[0]/4096.f);
}

float get_co_ppm(void)
{
	float RS = 0;
	float ppm;
	RS = (5.0f - get_mq7_vol()) / get_mq7_vol() * 10;
	ppm = (get_mq7_vol() / 5.0f - 0.1) / 0.8 * RS;
	return ppm;
}

